/****************************************************************************************
**  File: Triangle3.hpp
**  Author: Asteroth
**  Date: 8-mag-2009
****************************************************************************************/

#ifndef __TRIANGLE3_HPP__
#define __TRIANGLE3_HPP__

template <typename T>
class Triangle3x {
public:
	Vector3x<T> V1, V2, V3;

	Triangle3x():																		V1(0, 0, 0), V2(0, 0, 0), V3(0, 0, 0) {}
	Triangle3x(const Triangle3x<T> &tri):												V1(tri.V1), V2(tri.V2), V3(tri.V3) {}
	Triangle3x(const Vector3x<T> &v1, const Vector3x<T> &v2, const Vector3x<T> &v3):	V1(v1), V2(v2), V3(v3) {}

	inline Vector3x<T> operator ! () {
		return !((V2 - V1) && (V3 - V1));
	}
};

typedef Triangle3x<float> Triangle3;

#endif
